Terraform Authoring and Operations Professional に合格してみた
こんにちは!AWS 事業本部コンサルティング部のたかくに(@takakuni_)です。
2024 年 09 月 HashiCorp Terraform の上位認定である Terraform Authoring and Operations Professional がリリースされました。Terraform Authoring and Operations Pro with AWS とも呼ばれています。
試験概要
試験概要は以下の通りです。試験時間が 4h と結構パワーがいる試験です。
- 名前:Terraform Authoring & Operations Professional
- 出題形式:ラボベースと複数選択
- 環境:オンライン試験
- 時間:4 時間(試験時間とは別に 15 分の休憩を取得可能)
- 受験費用:$ 295 USD(不合格の場合は無料のバウチャーが 1 回発行される)
- 無料のバウチャーを使った再受験は 3 ヶ月以内に受験が必要
- 再受験までに 7 日間空ける必要がある
- 年間受験可能な回数は 4 回まで
- 無料のバウチャーを使った再受験は 3 ヶ月以内に受験が必要
- 言語:英語
- 有効期限:2 年
- クラウドプロバイダー:AWS
再受験ポリシーはこちら。不合格だった場合の再受験が 1 回無料なのありがたいですね。
また、 Terraform Authoring & Operations Professional を合格すると、 Terraform Associate が更新されます。
When you pass the Terraform Authoring and Operations Professional exam, you will receive the professional-level credentials (badge and corresponding certificate). You will also extend the expiration of your Terraform Associate 002 or 003 credentials.
アカウント登録の名前は気をつけよう
Terraform Associate を受験している方であれば問題ないと思うのですが、初めて受験する人向けに。
GitHub を通じて試験用のアカウントを作成することになります。試験用のアカウントの名前を漢字で登録した場合は、免許証などの漢字で証明できる身分証、英語で登録した場合はパスポートなど英語で証明できる身分証が必要になります。
すぐに変更できるわけではないですが、変更したい場合は Exam Portal から変更手続きができます。(ある意味、 0 次試験です。)
ラボベース試験
Terraform Associate 認定と異なり Professional 認定ではラボベースの問題が用意されています。試験中に Terraform のドキュメントと AWS プロバイダーのドキュメントへアクセス可能な点が特徴です。
This performance-based exam contains labs that must be completed in a virtual environment along with a shorter multiple-choice section. During the lab scenarios, you will be tested on performing real-world Terraform tasks using the command line, cloud providers' (AWS) UI, and text editors. You will have access to Terraform documentation, AWS cloud provider documentation, and limited Registry access.
以下の動画で言及されている通り、ラボ環境では CLI や VS Code を利用できます。
試験要項
試験要項は次のとおりです。満遍なく出題されますね。
- 1 Manage resource lifecycle
- 1a Initialize a configuration using terraform init and its options
- 1b Generate an execution plan using terraform plan and its options
- 1c Apply configuration changes using terraform apply and its options
- 1d Destroy resources using terraform destroy and its options
- 1e Manage resource state, including importing resources and reconciling resource drift
- 2 Develop and troubleshoot dynamic configuration
- 2a Use language features to validate configuration
- 2b Query providers using data sources
- 2c Compute and interpolate data using HCL functions
- 2d Use meta-arguments in configuration
- 2e Configure input variables and outputs, including complex types
- 2f Analyze best practices for managing sensitive data, such as using Vault for secrets management
- 3 Develop collaborative Terraform workflows
- 3a Manage the Terraform binary, providers, and modules using version constraints
- 3b Configure remote state
- 3c Use the Terraform workflow in automation
- 3d Share data across configurations and workspaces
- 4 Create, maintain, and use Terraform modules
- 4a Create a module
- 4b Use a module in configuration
- 4c Refactor a module and use module versioning
- 4d Refactor an existing configuration into modules
- 5 Configure and use Terraform providers
- 5a Understand Terraform's plugin-based architecture
- 5b Configure providers, including aliasing, versioning, sourcing, and managing upgrades
- 5c Manage provider authentication
- 5d Troubleshoot provider errors
- 6 Collaborate on infrastructure as code using HCP Terraform
- 6a Analyze the HCP Terraform run workflow
- 6b Understand HCP Terraform workspaces and their configuration options, including access management
- 6c Manage provider credentials in HCP Terraform
- 6d Analyze policy as code and governance features
オススメしたい試験対策
試験自体はラボ試験が大半なので、 Terraform を普段から触っている人向けの試験です。
以下は Terraform Assoicate のコースですが体系的に学べるのでオススメです。
また、 Exam Content List が公開されており、理解できていない分野はチュートリアルを通じて学ぶと良いかと思います。(私はこのチュートリアルのみで対策しました)
ラーニングパスも公開されており、ありがたいですね。
Terraform v1.6 ベースの環境のため、v1.7 以降のアップデート要素は試験ではスキップで OK です。(もちろん仕事で使うためのキャッチアップは必要です)
AWS 要素はどこまで必要か?
実はテストで出てくる AWS のリソースが公開されています。(私は受験後に気がつきました ...)
- Debugging
- aws_instance
- aws_ami data source
- aws_launch_template
- aws_autoscaling_group
- aws_security_group
- aws_security_group_rule
- Terraform providers
- aws_s3_object
- random_integer
- aws_s3_bucket
- aws_caller_identity data source
- aws_iam_session_context data source
- aws_iam_policy_document data source
- aws_iam_role
- HashiCorp configuration language (HCL)
- aws_subnet data source
- aws_vpc_security_group_ingress_rule
- Modules and module refactoring
- aws_iam_policy_document data source
- aws_iam_role
- aws_iam_instance_profile
- aws_instance
- aws_iam_policy
- aws_iam_role_policy_attachment
- aws_s3_bucket
- The terraform s3 backend
- terraform_remote_state data source (that uses the s3 backend)
個人的な感想ですが、難しいリソースを扱うことはないため、要項に記載されているオペレーション(作成やリファクタ等)が無難にできれば OK だと思います。
HCP Terraform について
HCP Terraform についてはラボ試験はなく、複数選択回答式のみとなります。
ただ、わからないと本当にわからないので、ひととおり触っておくと良いと思いました。(これを機に学習してみるものもオススメです)
まとめ
無事、合格できました。できなかったところは見直ししたいですね。
ちなみに、試験結果は 48 時間以内に回答があります。
You will receive an email with your exam results within 48 hours after your appointment.
Directory を確認すると、アルファテスターを除いて 32 番目に取得できたようです。モチベーションになりますね。
試験時間を使い切るくらい長考したため、受験後は仕事入れない方がイイかもです。
Terraform を普段使っている方向けの実践的な試験のため、 触っているかどうかが、合格の分かれ目な印象です。
不合格だった場合の再受験が 1 回無料ですので、腕試しにサクッと受験いただくのはいかがでしょうか。
このブログがどなたかの参考になれば幸いです。
AWS 事業本部コンサルティング部のたかくに(@takakuni_)でした!